// File:    Usuario.cs
// Author:  mespinozas
// Created: lunes, 25 de noviembre de 2013 3:50:57
// Purpose: Definition of Class Usuario

using System;
namespace ServiceDeskUNAB.Modelo
{
    public class Usuario
    {
        private int idUsuario;

        public int IdUsuario
        {
            get { return idUsuario; }
            set { idUsuario = value; }
        }
        private string username;

        public string Username
        {
            get { return username; }
            set { username = value; }
        }
        private string nombresUsuario;

        public string NombresUsuario
        {
            get { return nombresUsuario; }
            set { nombresUsuario = value; }
        }
        private string apellidoPaternoUsuario;

        public string ApellidoPaternoUsuario
        {
            get { return apellidoPaternoUsuario; }
            set { apellidoPaternoUsuario = value; }
        }
        private string apellidoMaternoUsuario;

        public string ApellidoMaternoUsuario
        {
            get { return apellidoMaternoUsuario; }
            set { apellidoMaternoUsuario = value; }
        }
        private string correoUsuario;

        public string CorreoUsuario
        {
            get { return correoUsuario; }
            set { correoUsuario = value; }
        }
        private string passwordUsuario;

        public string PasswordUsuario
        {
            get { return passwordUsuario; }
            set { passwordUsuario = value; }
        }

        public Usuario()
        {

        }

        public System.Collections.Generic.List<Incidencia> creaReporte;

        /// <summary>
        /// Property for collection of Incidencia
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public System.Collections.Generic.List<Incidencia> CreaReporte
        {
            get
            {
                if (creaReporte == null)
                    creaReporte = new System.Collections.Generic.List<Incidencia>();
                return creaReporte;
            }
            set
            {
                RemoveAllCreaReporte();
                if (value != null)
                {
                    foreach (Incidencia oIncidencia in value)
                        AddCreaReporte(oIncidencia);
                }
            }
        }

        /// <summary>
        /// Add a new Incidencia in the collection
        /// </summary>
        /// <pdGenerated>Default Add</pdGenerated>
        public void AddCreaReporte(Incidencia newIncidencia)
        {
            if (newIncidencia == null)
                return;
            if (this.creaReporte == null)
                this.creaReporte = new System.Collections.Generic.List<Incidencia>();
            if (!this.creaReporte.Contains(newIncidencia))
                this.creaReporte.Add(newIncidencia);
        }

        /// <summary>
        /// Remove an existing Incidencia from the collection
        /// </summary>
        /// <pdGenerated>Default Remove</pdGenerated>
        public void RemoveCreaReporte(Incidencia oldIncidencia)
        {
            if (oldIncidencia == null)
                return;
            if (this.creaReporte != null)
                if (this.creaReporte.Contains(oldIncidencia))
                    this.creaReporte.Remove(oldIncidencia);
        }

        /// <summary>
        /// Remove all instances of Incidencia from the collection
        /// </summary>
        /// <pdGenerated>Default removeAll</pdGenerated>
        public void RemoveAllCreaReporte()
        {
            if (creaReporte != null)
                creaReporte.Clear();
        }
        public System.Collections.Generic.List<Incidencia> responsable;

        /// <summary>
        /// Property for collection of Incidencia
        /// </summary>
        /// <pdGenerated>Default opposite class collection property</pdGenerated>
        public System.Collections.Generic.List<Incidencia> Responsable
        {
            get
            {
                if (responsable == null)
                    responsable = new System.Collections.Generic.List<Incidencia>();
                return responsable;
            }
            set
            {
                RemoveAllResponsable();
                if (value != null)
                {
                    foreach (Incidencia oIncidencia in value)
                        AddResponsable(oIncidencia);
                }
            }
        }

        /// <summary>
        /// Add a new Incidencia in the collection
        /// </summary>
        /// <pdGenerated>Default Add</pdGenerated>
        public void AddResponsable(Incidencia newIncidencia)
        {
            if (newIncidencia == null)
                return;
            if (this.responsable == null)
                this.responsable = new System.Collections.Generic.List<Incidencia>();
            if (!this.responsable.Contains(newIncidencia))
                this.responsable.Add(newIncidencia);
        }

        /// <summary>
        /// Remove an existing Incidencia from the collection
        /// </summary>
        /// <pdGenerated>Default Remove</pdGenerated>
        public void RemoveResponsable(Incidencia oldIncidencia)
        {
            if (oldIncidencia == null)
                return;
            if (this.responsable != null)
                if (this.responsable.Contains(oldIncidencia))
                    this.responsable.Remove(oldIncidencia);
        }

        /// <summary>
        /// Remove all instances of Incidencia from the collection
        /// </summary>
        /// <pdGenerated>Default removeAll</pdGenerated>
        public void RemoveAllResponsable()
        {
            if (responsable != null)
                responsable.Clear();
        }
    }
}